package com.rdzn.mall.center.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: pms_product
 * @Author: jeecg-boot
 * @Date:   2020-08-27
 * @Version: V1.0
 */
@Data
@TableName("pms_product")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="pms_product对象", description="pms_product")
public class PmsProduct implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private java.lang.Integer id;
	/**brandId*/
	@Excel(name = "brandId", width = 15)
    @ApiModelProperty(value = "brandId")
    private java.lang.Integer brandId;
	/**productCategoryId*/
	@Excel(name = "productCategoryId", width = 15)
    @ApiModelProperty(value = "productCategoryId")
    private java.lang.Integer productCategoryId;
	/**feightTemplateId*/
	@Excel(name = "feightTemplateId", width = 15)
    @ApiModelProperty(value = "feightTemplateId")
    private java.lang.Integer feightTemplateId;
	/**productAttributeCategoryId*/
	@Excel(name = "productAttributeCategoryId", width = 15)
    @ApiModelProperty(value = "productAttributeCategoryId")
    private java.lang.Integer productAttributeCategoryId;
	/**name*/
	@Excel(name = "name", width = 15)
    @ApiModelProperty(value = "name")
    private java.lang.String name;
	/**pic*/
	@Excel(name = "pic", width = 15)
    @ApiModelProperty(value = "pic")
    private java.lang.String pic;
	/**货号*/
	@Excel(name = "货号", width = 15)
    @ApiModelProperty(value = "货号")
    private java.lang.String productSn;
	/**删除状态：0->未删除；1->已删除*/
	@Excel(name = "删除状态：0->未删除；1->已删除", width = 15)
    @ApiModelProperty(value = "删除状态：0->未删除；1->已删除")
    private java.lang.Integer deleteStatus;
	/**上架状态：0->下架；1->上架*/
	@Excel(name = "上架状态：0->下架；1->上架", width = 15)
    @ApiModelProperty(value = "上架状态：0->下架；1->上架")
    private java.lang.Integer publishStatus;
	/**新品状态:0->不是新品；1->新品*/
	@Excel(name = "新品状态:0->不是新品；1->新品", width = 15)
    @ApiModelProperty(value = "新品状态:0->不是新品；1->新品")
    private java.lang.Integer newStatus;
	/**推荐状态；0->不推荐；1->推荐*/
	@Excel(name = "推荐状态；0->不推荐；1->推荐", width = 15)
    @ApiModelProperty(value = "推荐状态；0->不推荐；1->推荐")
    private java.lang.Integer recommandStatus;
	/**审核状态：0->未审核；1->审核通过*/
	@Excel(name = "审核状态：0->未审核；1->审核通过", width = 15)
    @ApiModelProperty(value = "审核状态：0->未审核；1->审核通过")
    private java.lang.Integer verifyStatus;
	/**排序*/
	@Excel(name = "排序", width = 15)
    @ApiModelProperty(value = "排序")
    private java.lang.Integer sort;
	/**销量*/
	@Excel(name = "销量", width = 15)
    @ApiModelProperty(value = "销量")
    private java.lang.Integer sale;
	/**price*/
	@Excel(name = "price", width = 15)
    @ApiModelProperty(value = "price")
    private java.math.BigDecimal price;
	/**促销价格*/
	@Excel(name = "促销价格", width = 15)
    @ApiModelProperty(value = "促销价格")
    private java.math.BigDecimal promotionPrice;
	/**赠送的成长值*/
	@Excel(name = "赠送的成长值", width = 15)
    @ApiModelProperty(value = "赠送的成长值")
    private java.lang.Integer giftGrowth;
	/**赠送的积分*/
	@Excel(name = "赠送的积分", width = 15)
    @ApiModelProperty(value = "赠送的积分")
    private java.lang.Integer giftPoint;
	/**限制使用的积分数*/
	@Excel(name = "限制使用的积分数", width = 15)
    @ApiModelProperty(value = "限制使用的积分数")
    private java.lang.Integer usePointLimit;
	/**副标题*/
	@Excel(name = "副标题", width = 15)
    @ApiModelProperty(value = "副标题")
    private java.lang.String subTitle;
	/**商品描述*/
	@Excel(name = "商品描述", width = 15)
    @ApiModelProperty(value = "商品描述")
    private java.lang.String description;
	/**市场价*/
	@Excel(name = "市场价", width = 15)
    @ApiModelProperty(value = "市场价")
    private java.math.BigDecimal originalPrice;
	/**库存*/
	@Excel(name = "库存", width = 15)
    @ApiModelProperty(value = "库存")
    private java.lang.Integer stock;
	/**库存预警值*/
	@Excel(name = "库存预警值", width = 15)
    @ApiModelProperty(value = "库存预警值")
    private java.lang.Integer lowStock;
	/**单位*/
	@Excel(name = "单位", width = 15)
    @ApiModelProperty(value = "单位")
    private java.lang.String unit;
	/**商品重量，默认为克*/
	@Excel(name = "商品重量，默认为克", width = 15)
    @ApiModelProperty(value = "商品重量，默认为克")
    private java.math.BigDecimal weight;
	/**是否为预告商品：0->不是；1->是*/
	@Excel(name = "是否为预告商品：0->不是；1->是", width = 15)
    @ApiModelProperty(value = "是否为预告商品：0->不是；1->是")
    private java.lang.Integer previewStatus;
	/**以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮*/
	@Excel(name = "以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮", width = 15)
    @ApiModelProperty(value = "以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮")
    private java.lang.String serviceIds;
	/**keywords*/
	@Excel(name = "keywords", width = 15)
    @ApiModelProperty(value = "keywords")
    private java.lang.String keywords;
	/**note*/
	@Excel(name = "note", width = 15)
    @ApiModelProperty(value = "note")
    private java.lang.String note;
	/**画册图片，连产品图片限制为5张，以逗号分割*/
	@Excel(name = "画册图片，连产品图片限制为5张，以逗号分割", width = 15)
    @ApiModelProperty(value = "画册图片，连产品图片限制为5张，以逗号分割")
    private java.lang.String albumPics;
	/**detailTitle*/
	@Excel(name = "detailTitle", width = 15)
    @ApiModelProperty(value = "detailTitle")
    private java.lang.String detailTitle;
	/**detailDesc*/
	@Excel(name = "detailDesc", width = 15)
    @ApiModelProperty(value = "detailDesc")
    private java.lang.String detailDesc;
	/**产品详情网页内容*/
	@Excel(name = "产品详情网页内容", width = 15)
    @ApiModelProperty(value = "产品详情网页内容")
    private java.lang.String detailHtml;
	/**移动端网页详情*/
	@Excel(name = "移动端网页详情", width = 15)
    @ApiModelProperty(value = "移动端网页详情")
    private java.lang.String detailMobileHtml;
	/**促销开始时间*/
	@Excel(name = "促销开始时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "促销开始时间")
    private java.util.Date promotionStartTime;
	/**促销结束时间*/
	@Excel(name = "促销结束时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "促销结束时间")
    private java.util.Date promotionEndTime;
	/**活动限购数量*/
	@Excel(name = "活动限购数量", width = 15)
    @ApiModelProperty(value = "活动限购数量")
    private java.lang.Integer promotionPerLimit;
	/**促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购*/
	@Excel(name = "促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购", width = 15)
    @ApiModelProperty(value = "促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购")
    private java.lang.Integer promotionType;
	/**品牌名称*/
	@Excel(name = "品牌名称", width = 15)
    @ApiModelProperty(value = "品牌名称")
    private java.lang.String brandName;
	/**商品分类名称*/
	@Excel(name = "商品分类名称", width = 15)
    @ApiModelProperty(value = "商品分类名称")
    private java.lang.String productCategoryName;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**修改人*/
    @ApiModelProperty(value = "修改人")
    private java.lang.String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
}
